home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / win / hooks.zip / MAKEFILE < prev    next >
Text File  |  1993-03-18  |  2KB  |  121 lines

  1. ##### Module Macro #####
  2. APPNAME    = hooks
  3. APPSRCS    = $(APPNAME).c
  4. APPOBJS    =
  5.  
  6. DLLNAME   = hooksdll
  7. DLLSRCS   = $(DLLNAME).c
  8. DLLOBJS   = libentry.obj
  9.  
  10. ##### C7 Macro #####
  11. C7       = 1
  12.  
  13. ##### Library Macro #####
  14. APPLIBS    = libw slibcew hooksdll
  15. APPMOD       = -AS
  16.  
  17. DLLLIBS    = libw sdllcew
  18. DLLMOD       = -ASnw
  19.  
  20. ##### Include Macro #####
  21. APPINCLS   = $(APPNAME).h
  22. DLLINCLS2  = $(APPNAME).h
  23.  
  24. ##### Resource Macro #####
  25. APPRCFILES = $(APPNAME).rc $(APPNAME).ico messages.rc
  26. DLLRCFILES = $(DLLNAME).rc messages.rc
  27.  
  28. ##### DEBUG Defined #####
  29. DEBUG    = 1
  30.  
  31. ##### Build Option Macros #####
  32. !if $(DEBUG)
  33. DDEF    = -DDEBUG
  34. CLOPT    = -Zid -Od
  35. MOPT    = -Zi
  36. LOPT    = /CO /LI /MAP
  37. !else
  38. DDEF    =
  39. CLOPT    = -Os
  40. LOPT    =
  41. !endif
  42.  
  43. ##### General Macros #####
  44. DEF    =   -DSTRICT
  45.  
  46. ##### Tool Macros #####
  47. ASM    = masm -Mx $(MOPT) $(DDEF) $(DEF)
  48. CC    = cl -nologo -c $(APPMOD) -G2sw -Zp -W3 $(CLOPT) $(DDEF) $(DEF)
  49. CC2    = cl -nologo -c $(DLLMOD) -G2sw -Zp -W3 $(CLOPT) $(DDEF) $(DEF)
  50. LINK    = link /NOD /NOE $(LOPT)
  51. RC    = rc $(DDEF) $(DEF)
  52. HC    = hc
  53.  
  54. ##### Inference Rules #####
  55. .c.obj:
  56.     $(CC) $*.c
  57.  
  58. .asm.obj:
  59.     $(ASM) $*.asm;
  60.  
  61. .rc.res:
  62.     $(RC) -r $*.rc
  63.  
  64. ##### Main (default) Target #####
  65. goal:  $(DLLNAME).lib $(APPNAME).exe
  66.  
  67. ##### Dependents For Goal and Command Line #####
  68. $(APPNAME).exe: $(APPSRCS:.c=.obj) $(APPNAME).def $(APPNAME).res
  69.     $(LINK) @<<
  70.     $(APPSRCS:.c=.obj) $(APPOBJS),
  71.     $(APPNAME).exe,
  72.     $(APPNAME).map,
  73.     $(APPLIBS),
  74.     $(APPNAME).def
  75. <<
  76.     rc $(APPNAME).res $(APPNAME).exe
  77. !if $(DEBUG)
  78. !if !$(C7)
  79.     cvpack -p $(APPNAME).exe
  80. !endif
  81.     mapsym $(APPNAME).map
  82. !endif
  83.  
  84. $(DLLNAME).obj: $(DLLSRCS) $(DLLINCLS)
  85.     $(CC2) $(DLLSRCS)
  86.  
  87. $(DLLNAME).dll: $(DLLSRCS:.c=.obj) $(DLLNAME).def  $(DLLNAME).res
  88.     $(LINK) @<<
  89.     $(DLLSRCS:.c=.obj) $(DLLOBJS2),
  90.     $(DLLNAME).dll,
  91.     $(DLLNAME).map,
  92.     $(DLLLIBS),
  93.     $(DLLNAME).def
  94. <<
  95.     rc $(DLLNAME).res $(DLLNAME).dll
  96. !if $(DEBUG)
  97. !if !$(C7)
  98.     cvpack -p $(DLLNAME).dll
  99. !endif
  100.     mapsym $(DLLNAME).map
  101. !endif
  102.  
  103. $(DLLNAME).lib: $(DLLNAME).dll
  104.     implib $(DLLNAME).lib $(DLLNAME).def
  105.  
  106. ##### Dependents #####
  107. $(APPSRCS:.c=.obj): $(APPINCLS)
  108. $(APPNAME).res: $(APPINCLS) $(APPRCFILES)
  109.  
  110. $(DLLSRCS:.c=.obj): $(DLLINCLS)
  111. $(DLLNAME).res: $(DLLINCLS) $(DLLRCFILES)
  112.  
  113. ##### Clean Directory #####
  114. clean:
  115.     -del *.obj
  116.     -del *.res
  117.     -del *.map
  118.     -del *.sym
  119.     -del *.dll
  120.     -del *.lib
  121.